package demo.bocweb.login_module.contract;


import demo.bocweb.com.sdk.base.BasePresenter;
import demo.bocweb.com.sdk.base.IBaseModel;
import demo.bocweb.com.sdk.base.IBaseView;
import demo.bocweb.com.sdk.base.bean.BaseBean;
import demo.bocweb.login_module.bean.LoginBean;
import io.reactivex.Observable;
import okhttp3.RequestBody;

/**
 * Created by zhelun on 2018/1/26.
 */

public interface RegisterContract {
    abstract class IRegisterPresenter extends BasePresenter<IRegisterModel, IRegisterView> {
        public abstract void register(RequestBody body);

        public abstract void sendSmsCode(RequestBody body);

        public abstract void checkSmsCode(RequestBody body);

    }

    interface IRegisterModel extends IBaseModel {
        Observable<BaseBean<LoginBean>> register(RequestBody body);

        Observable sendSmsCode(RequestBody body);

        Observable checkSmsCode(RequestBody body);


    }

    interface IRegisterView extends IBaseView {
        void registerSuccess(LoginBean bean);

        void sendSmsCodeSuccess();

        void checkSmsSuccess();

        void register();

        void checkSmsCode();

        void sendSmsCode();


    }

}
